package com.jinmdz.fmis.api.rec.model.recdispatchcar;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.common.constant.EValidateCode;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;

/**
 * 接运响应数据
 *
 * @author GaoXiangLiang
 * @date 2020-06-15 9:10
 */
public class RecDispatchCarData extends BaseBean {
    /**
     * 主键
     */
    @AnValidate(name = "主键", code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "主键", name = "id", position = 1)
    private Integer id;
    /**
     * 接运外键
     */
    @AnValidate(name = "接运外键", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "接运外键", name = "recId", position = 2)
    private Integer recId;
    /**
     * 车辆外键
     */
    @AnValidate(name = "车辆外键", code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "车辆外键", name = "recCarId", position = 3)
    private Integer recCarId;

    /**
     * 车辆牌号
     */
    @AnValidate(name = "车辆牌号")
    @ApiModelProperty(value = "车辆牌号", name = "recCarNo", position = 4)
    private String recCarNo;

    /**
     * 调度人姓名
     */
    @AnValidate(name = "调度人姓名")
    @ApiModelProperty(value = "调度人姓名", name = "dispatchUserName", position = 5)
    private String dispatchUserName;

    /**
     * 调度人编号
     */
    @AnValidate(name = "调度人编号")
    @ApiModelProperty(value = "调度人编号", name = "dispatchUserId", position = 6)
    private Integer dispatchUserId;
    /**
     * 出车时间
     */
    @AnValidate(name = "出车时间")
    @ApiModelProperty(value = "出车时间", name = "dispatchOutTime", example = "2020-02-07 23:01", position = 7)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date dispatchOutTime;
    /**
     * 回车时间
     */
    @AnValidate(name = "回车时间")
    @ApiModelProperty(value = "回车时间", name = "dispatchBackTime", example = "2020-02-07 23:01", position = 8)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date dispatchBackTime;
    /**
     * 版本
     */
    @AnValidate(name = "数据版本号")
    @ApiModelProperty(value = "数据版本号", name = "version", position = 9)
    private Long version;
    /**
     * 殡仪馆代码
     */
    @AnValidate(name = "殡仪馆代码")
    @ApiModelProperty(value = "殡仪馆代码", name = "funeralParlourCode", position = 10)
    private String funeralParlourCode;

    /**
     * 接运司机ID多个
     */
    @AnValidate(name = "接运司机")
    @ApiModelProperty(value = "接运司机", name = "recInfoDriver", position = 11)
    private ArrayList<Integer> recInfoDriver;
    /**
     * 抬尸工ID多个
     */
    @AnValidate(name = "抬尸工")
    @ApiModelProperty(value = "抬尸工", name = "recInfoPorter", position = 12)
    private ArrayList<Integer> recInfoPorter;

    public Integer getId() {
        return id;
    }

    public RecDispatchCarData setId(Integer id) {
        this.id = id;
        return this;
    }

    public Integer getRecId() {
        return recId;
    }

    public RecDispatchCarData setRecId(Integer recId) {
        this.recId = recId;
        return this;
    }

    public Integer getRecCarId() {
        return recCarId;
    }

    public RecDispatchCarData setRecCarId(Integer recCarId) {
        this.recCarId = recCarId;
        return this;
    }

    public String getRecCarNo() {
        return recCarNo;
    }

    public RecDispatchCarData setRecCarNo(String recCarNo) {
        this.recCarNo = recCarNo;
        return this;
    }

    public String getDispatchUserName() {
        return dispatchUserName;
    }

    public RecDispatchCarData setDispatchUserName(String dispatchUserName) {
        this.dispatchUserName = dispatchUserName;
        return this;
    }

    public Integer getDispatchUserId() {
        return dispatchUserId;
    }

    public RecDispatchCarData setDispatchUserId(Integer dispatchUserId) {
        this.dispatchUserId = dispatchUserId;
        return this;
    }

    public Date getDispatchOutTime() {
        return dispatchOutTime;
    }

    public RecDispatchCarData setDispatchOutTime(Date dispatchOutTime) {
        this.dispatchOutTime = dispatchOutTime;
        return this;
    }

    public Date getDispatchBackTime() {
        return dispatchBackTime;
    }

    public RecDispatchCarData setDispatchBackTime(Date dispatchBackTime) {
        this.dispatchBackTime = dispatchBackTime;
        return this;
    }

    public Long getVersion() {
        return version;
    }

    public RecDispatchCarData setVersion(Long version) {
        this.version = version;
        return this;
    }

    public String getFuneralParlourCode() {
        return funeralParlourCode;
    }

    public RecDispatchCarData setFuneralParlourCode(String funeralParlourCode) {
        this.funeralParlourCode = funeralParlourCode;
        return this;
    }

    public ArrayList<Integer> getRecInfoDriver() {
        return recInfoDriver;
    }

    public RecDispatchCarData setRecInfoDriver(ArrayList<Integer> recInfoDriver) {
        this.recInfoDriver = recInfoDriver;
        return this;
    }

    public ArrayList<Integer> getRecInfoPorter() {
        return recInfoPorter;
    }

    public RecDispatchCarData setRecInfoPorter(ArrayList<Integer> recInfoPorter) {
        this.recInfoPorter = recInfoPorter;
        return this;
    }
}
